package com.cachopoid.utils;

import java.util.ArrayList;
import java.util.Iterator;

import com.cachopoid.R;
import com.cachopoid.vo.CachopoVO;
import com.cachopoid.vo.EstablecimientoVO;

import junit.framework.Assert;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.text.Layout;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ListView;

public class Utils {

	public static boolean isNullOrZero(Number number){
		if(number == null){
			return true;
		}
		if(number.intValue() == 0){
			return true;
		}
		return false;
	}
	
	/**
	 * Devuelve el id del recurso pasandole el nombre
	 * @param context
	 * @param name nombre del recurso
	 * @return 
	 */
	 public static int getDrawable(Context context, String name)
	 {
	     Assert.assertNotNull(context);
	     Assert.assertNotNull(name);

	     return context.getResources().getIdentifier(name,"drawable", context.getPackageName());
	 }
	 
	 
	 /**
		 * Devuelve el establecimiento al que hace pertenece el cachopo
		 * @param position
		 * @return establecimientoVO
		 */
		public static EstablecimientoVO devuelveElEstablecXCachopo(ArrayList<EstablecimientoVO> establecimientoArrayList,ArrayList<CachopoVO> cachopoArrayList,EstablecimientoVO establecimientoVO,int position){
			 
			  for (Iterator<EstablecimientoVO> iterator = establecimientoArrayList.iterator(); iterator.hasNext();) {  
					establecimientoVO = (EstablecimientoVO) iterator.next();
					if(establecimientoVO.getIdEstablecimiento() == cachopoArrayList.get(position).getIdEstablecimiento()){
						
						return establecimientoVO;
					}
					
				}
			 
			 return establecimientoVO;
			
		}
	
		/**
		 * Devuelve la imagen del ranking
		 * @param position posicion del ranking, el 0 es el primero
		 * @return imagen
		 */
		public static Drawable getImagenRanking(Context context,int position){
			Drawable drawable = null;
			
			switch(position){
			 	
			 	case 0:
			 		drawable = context.getResources().getDrawable(R.drawable.vaca_gold);
				break;
			 	case 1:
			 		drawable = context.getResources().getDrawable(R.drawable.vaca);
			 	break;
			 	case 2:
			 		drawable = context.getResources().getDrawable(R.drawable.vaca);
				break;
				default:
					drawable = context.getResources().getDrawable(R.drawable.vaca);
				break;
			 }

			 
			 return drawable;
			
		}
		
		/**
		 * Muestra/Oculta la capa
		 */
		public static void ocultaMuestraFrameLayout(FrameLayout layout){
			
			if(layout.getVisibility()==View.VISIBLE){
			
				layout.setVisibility(View.GONE);
			}
			else{
				layout.setVisibility(View.VISIBLE);
			}
			
		}
		
		/**
		 * Devuelve el cachopo de un arrayList
		 * Pasandole el id del cachopo
		 */
		
		public static CachopoVO getCachopo2List(ArrayList<CachopoVO> cachopos, int idCachopo){
			
			CachopoVO cachopoVO = null;
			for (Iterator<CachopoVO> iterator = cachopos.iterator(); iterator.hasNext();) {
				cachopoVO = (CachopoVO) iterator.next();
				if(cachopoVO.getIdCachopo()==(idCachopo)){
					return cachopoVO;
				}
			}
			
			return cachopoVO;
		}
		
		/**
		 * Copia las propiedades de un cachopo de un objeto a otro 
		 */
		public static void copyPropertiesCachopo(CachopoVO cachopoInicio, CachopoVO cachopoDestino){
		 if(cachopoInicio!=null || cachopoDestino!=null ){
			
			cachopoDestino.setIdCachopo(cachopoInicio.getIdCachopo());
			cachopoDestino.setIdEstablecimiento(cachopoInicio.getIdEstablecimiento());
			cachopoDestino.setDescripcion(cachopoInicio.getDescripcion());
			cachopoDestino.setMediaDeVotos(cachopoInicio.getMediaDeVotos());
			cachopoDestino.setNombre(cachopoInicio.getNombre());
			cachopoDestino.setPrecio(cachopoInicio.getPrecio());
			cachopoDestino.setRebozado(cachopoInicio.getRebozado());
			cachopoDestino.setRelleno(cachopoInicio.getRelleno());
			cachopoDestino.setSabor(cachopoInicio.getSabor());
			cachopoDestino.setTamanio(cachopoInicio.getTamanio());
			cachopoDestino.setTotal_votos(cachopoInicio.getTotal_votos());	
		}
	}
}